//
//  TSKit.swift
//  TSKit
//
//  Created by chenyusen on 2018/3/15.
//

import Foundation

public final class TSKit<Base> {
    public let base: Base
    public init(_ base: Base) {
        self.base = base
    }
}

/**
 A type that has TSKit extensions.
 */
public protocol TSKitCompatible {
    associatedtype CompatibleType
    var ts: CompatibleType { get }
}


public extension TSKitCompatible {
    public var ts: TSKit<Self> {
        get { return TSKit(self) }
    }
}

extension UIViewController: TSKitCompatible { }
